- Nom : Prénom : REAL Philippe
- Nom : Prénom : GUYONVARCH Alexis
Présentation des données et objectifs de l’étude https://www.kaggle.com/uciml/pima-indians-diabetes-database
Le jeu de données provient de l’Institut national du diabete, des maladies digestives et rénales. Il rend possible la prédiction de la pathologie, en l’espèce le diabète, pour le patient à partir d’analyses inclues dans le jeu de données. Dans l’extraction, les patients sont des femmes et issues de la commmunauté des indiens Pima.
Objectif : prédire si l’individu a ou non le diabète. Préalablement, il s’agi de compléter les données manquante par imputation.
## [1] "Pourcentage de données manquantes par variable"
## npreg glu bp skin Insuline bmi ped age
## 0.0 0.7 4.6 29.6 48.7 1.4 0.0 0.0
## type
## 0.0
Suppression de la 1ère colonne comprenant les identifants. La colonne insuline est, dans l’immédiat, conservée en dépit de la part importante de données manquantes : 48.7 %.
## [1] "Combinaisons 2 à 2 des données manquantes"
## glu bp skin Insuline bmi
## glu 5 0 0 4 0
## bp 0 35 33 35 7
## skin 0 33 227 227 9
## Insuline 4 35 227 374 10
## bmi 0 7 9 10 11
## [1] "Création des catégories de données manquantes"
##
## No-Missing Insuline.only bmi.only
## 392 140 1
## glu.only bmi.Insuline bp.Insuline
## 1 1 2
## bp.skin.Insuline bp.skin.Insuline.bmi glu.Insuline
## 26 7 4
## skin.Insuline skin.bmi.Insuline
## 192 2
Le pourcentage de données manquantes est élevé, les informations sont exhaustives pour seulement 51% des individus, ce qui jusitifie le recours à l’imputation multiple. Le graphique des combinaisons confirme, ce qui avait déjà été mis en lumière ci-devant, à savoir la prédominance de plusieurs combinaisons : * Insuline + Skin * Insuline + Skin + BP A elle seule, la variable Insuline, quand elle est manquante, regroupe 8 patterns. La variable skin concerne 4 patterns.
Au final, il ressort que le mécanisme des données manquantes, qui concernent 5 variables du dataframe “Pima”, est non-monotone, ce qui justifiera ultérieurement le recours à l’imputation multiple (joint modeling, fully conditionnal specification, ACP).
La valeur d’ “influx” de la variable Insuline est plus élevée que la valeur d’“influx” de la variable Skin en dépit d’une proportion plus importante de données manquantes. Cela suggère une connection plus forte aux variables observées. Une valeur d’“outflux” très faible nous indique que la variable “Insuline”, ainsi que la variable “Skin”, quoique dans une moindre mesure, seront potentiellement moins utiles à l’imputation des autres variables.
##
## Variables sorted by number of missings:
## Variable Count
## Insuline 0.486979167
## skin 0.295572917
## bp 0.045572917
## bmi 0.014322917
## glu 0.006510417
## npreg 0.000000000
## ped 0.000000000
## age 0.000000000
## type 0.000000000
## missingCateg 0.000000000
## [1] "Nombre de patterns si Insuline manquant"
## [1] 8
## [1] "Nombre de patterns si skin manquant"
## [1] 4
graphiques N°1 - Mécanismes des variables “Insuline” et “skin” (§2.1)
Distributions marginales des variables Insuline, Skin et bp avec les autres variables incomplètes
Distributions marginales des mêmes variables avec les variables complètes
Dans un premier temps on traite les valeurs manquantes par imputation simple avec le package MICE : * par le biais de la méthode PMM (predictive mean matching), * puis au moyen d’une régression linéaire - non bayésienne - stochastique.
A priori, ces imputations ne seront pas conservées en raison de la sensibilité à la spécification du modèle (pour la méthode paramétrique) et du biais souvent généré par la méthode PMM (semi paramétrique).
#PMM
imp.si.pmm <- mice(data, m=1, seed = 111119, print = F)
#régression stochastique avec bootstrap
imp.si.norm <- mice(data, method = "norm.nob", m = 1, maxit = 1, print = F)
https://datascienceplus.com/imputing-missing-data-with-r-mice-package/
Nous recourons, au cours d’une première étape, à l’imputation multiple au moyen des méthodes Joint Modeling puis Fully Conditionnal Specification.
#JM
imp.mi.jm <- mice(data, m=5, method='norm',seed=111119, print=F)
#FCS
imp.mi.fcs <- mice(data, m=5, seed=111119, print = F)
Les graphiques montrent que les imputations par régression linéaire stochastique comportent des valeurs aberrantes, en l’espèce, des valeurs négatives pour l’épaisseur de peau et le taux d’insuline. Les distributions des valeurs observées et imputées sont proches, ce qui n’infirme ni ne confirme le mécanisme MAR.
Pour les graphiques cf. annexe N°1
Pour les graphiques cf. annexe N°1
Préalablement à l’étape de réduction des dimensions, nous procédons à un essai de transformation des variables visant à renforcer la linéarité des liens entre elles. Finalement, après plusieurs tentatives (log, logistic et racine carrée), seule une transformation logarithmique de la variable insuline est conservée.
Avec la méthode de validation croisée “kfold”, le nombre de dimensions optimale est de 5 ou 4 selon le critère “MSEP”.
## [1] "Le nombre de dimensions retenu pour le jeu de données initial est de :5"
## [1] "Le nombre de dimensions retenu pour le jeu de données transformé est de :4"
*Diagnostics pour l’imputation multiple - méthode bayésienne
Visuellement, l’imputation de la variable insuline semble de meilleure qualité, une fois celle-ci ayant fait l’objet d’une transformation en logarithmique.
#### 3.2.2 Multiple Imputation avec multiple imputation par boostrap
Visuellement, le modèle semble plus en adéquation avec l’imputation multiple par bootstrap.
Cette dernière imputation semble la plus appropriée.
* Analyse des distibutions
L’analyse des distributions des résultats est mise en peuvre avec les méthodes du package “MICE”. L’analyse requiert une conversion préalable des objets avant manipulation des fonctions et méthodes du package. In fine, ces dernières sorties semblent confirmer le diagnostic précédent. Le meilleur modèle d’imputation semble être celui implémenté section 3.2.3.
Ne fonctionne pas avec avec MIPCA (pas de post traitement à la volée).
# delta <- c(0,10,20)
# imp.all <- vector("list", length(delta))
#
# post <- mice(data, maxit = 0)$post
# for (i in 1:length(delta)){
# d <- delta[i]
# cmd <- paste("imp[[j]][,i] <- imp[[j]][,i] +", d)
# post["skin"] <- cmd
# imp <- prelim(MIPCA(new.data[,1:8],ncp=ncp.res.new,verbose=F, method = "EM", method.mi = "Boot", nboot = 10),new.data[,1:8])
# imp.all[[i]] <- imp
# }
#
# bwplot(imp.all[[1]])
# bwplot(imp.all[[2]])
# bwplot(imp.all[[3]])
A partir des données complétées, la variable réponse, “Individus diabétiques”, est modélisée avec un modèle GLM logit avec pour prédicteurs : -npreg -glu -bp -skin -Insuline -bmi -ped -age
#Avec imputation MICE FCS
diabete.insuline.glm1 <- with(data=imp.mi.fcs ,exp=glm(type ~ npreg + glu + bp + skin + Insuline + bmi + ped + age,family=binomial(link="logit")))
#Avec imputations missMDA
diabete.insuline.glm2 <- with(data=conv.imp.mipca.boot.new ,exp=glm(type ~ npreg + glu + bp + skin + log.Insuline + bmi + ped + age,family=binomial(link="logit")))
diabete.insuline.glm3 <- with(data=conv.imp.mipca.EM.boot.new ,exp=glm(type ~ npreg + glu + bp + skin + log.Insuline + bmi + ped + age,family=binomial(link="logit")))
#Avec imputations missMDA mais sans la variable Insuline
diabete.noinsuline.glm <- with(data=conv.imp.mipca.EM.boot.new ,exp=glm(type ~ npreg + glu + bp + skin + bmi + ped + age,family=binomial(link="logit")))
summary(pool(diabete.insuline.glm2))
summary(pool(diabete.insuline.glm3))
summary(pool(diabete.noinsuline.glm))
On remarque que les varables skin, age et bp ont une grande p-value.
On accepte l’utilité de la variable “Insuline” et on conserve le modèle complet. p-value importante => on rejette l’influence de la variable insuline.
#Rapport de vraisemblance
pool.compare(diabete.insuline.glm3, diabete.noinsuline.glm, method = "likelihood")$pvalue
## [1] 0.9015207
#Anova
anova(diabete.insuline.glm3,diabete.noinsuline.glm)
## test statistic df1 df2 df.com p.value riv
## 1 ~~ 2 0.01560533 1 358.8463 759 0.9006558 0.5876564
Au regard des différentes comparaisons et du test ANOVA final, on conserve un modèle excluant les variables : bmi,glu,npreg <= NOK? On aurait tendance à rejetter les variables skin, bp et age.
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable age : 1"
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable skin : 1"
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable insuline : 1"
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable bp : 1"
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable bmi : 1"
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable glu : 1"
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable npreg : 1"
## [1] "Test du rapport de vraisemblance modele complet vs modele sans la variable ped : 1"
## [1] "AIC du modele complet : 737.565215113922"
## [1] "AIC du modele sans la variable age : 688.42701414307"
## [1] "AIC du modele sans la variable skin : 686.912022364828"
## [1] "AIC du modele sans la variable insuline : 730.945697138493"
## [1] "AIC du modele sans la variable bp : 686.77352700022"
## [1] "AIC du modele sans la variable bmi : 698.374069190742"
## [1] "AIC du modele sans la variable npreg : 703.804145730773"
## [1] "AIC du modele sans la variable glu : 721.406244095475"
## [1] "AIC du modele sans la variable ped : 697.710740945811"
Le AIC moyen tendrait à supprimer les variables: age, bp, skin.
## [1] 686.7735
## [1] 686.9861
## [1] 685.9922
## [1] 730.1093
## [1] "Test du rapport de vraisemblance modele sans bp vs modele sans les variables bp et age : 0.156324666437484"
## [1] "Test du rapport de vraisemblance modele sans bp et age vs modele sans bp, age et skin : 0.602938119781043"
## [1] "Test du rapport de vraisemblance modele sans bp, age et skin vs modele sans bp, age, Insuline et skin : 5.05620865176581e-08"
Le meilleur modèle est le modèle diabete.insuline.glm5 avec les variables : bmi, npreg, ped, glu et log.Insuline
Au final, les estimations des coefficients sont assez proches en comparaison de la méthode des cas concrets (= listwise deletion). En revanche, le pouvoir prédictif du modèle sort amélioré, toutes les variables étant significatives avec les jeux de données imputés.
##
## Call:
## glm(formula = type ~ npreg + glu + bmi + ped + age, family = binomial(link = "logit"),
## data = data[ok, ])
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.8827 -0.6535 -0.3694 0.6521 2.5814
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -9.992080 1.086866 -9.193 < 2e-16 ***
## npreg 0.083953 0.055031 1.526 0.127117
## glu 0.036458 0.004978 7.324 2.41e-13 ***
## bmi 0.078139 0.020605 3.792 0.000149 ***
## ped 1.150913 0.424242 2.713 0.006670 **
## age 0.034360 0.017810 1.929 0.053692 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 498.10 on 391 degrees of freedom
## Residual deviance: 344.89 on 386 degrees of freedom
## AIC: 356.89
##
## Number of Fisher Scoring iterations: 5
##
## Call:
## glm(formula = type ~ bp + skin + I(log(Insuline)) + ped + age,
## family = binomial(link = "logit"), data = data)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.5066 -0.7784 -0.4446 0.9042 2.4168
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -10.09698 1.30143 -7.758 8.60e-15 ***
## bp 0.01354 0.01075 1.259 0.20799
## skin 0.03597 0.01259 2.858 0.00427 **
## I(log(Insuline)) 1.01633 0.20295 5.008 5.51e-07 ***
## ped 1.01821 0.35280 2.886 0.00390 **
## age 0.05652 0.01280 4.417 1.00e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 499.70 on 393 degrees of freedom
## Residual deviance: 393.96 on 388 degrees of freedom
## (374 observations deleted due to missingness)
## AIC: 405.96
##
## Number of Fisher Scoring iterations: 4
Intérêt : Les données Pima sont très utilisées (cf. Kaggle). Pour autant il ne semble pas qu’un modèle d’inputation ait été utilisé. Bien souvent les données manquantes sont supprimées (analyse des cas concrets ou listwise deletion) ou bien une imputation simple par moyenne est mise en oeuvre. Dans notre cas, nous avons réussi à démontrer la pertinence de l’imputation avec pour objectif l’implémentation d’un modèle de classification.
Distributions marginales des variables Insuline, Skin et bp avec les autres variables incomplètes
Distributions marginales des mêmes variables avec les variables complètes
Les graphiques montrent que les imputations par régression linéaire stochastique comportent des valeurs aberrantes, en l’espèce, des valeurs négatives pour l’épaisseur de peau et le taux d’insuline. Les distributions des valeurs observées et imputées sont proches, ce qui n’infirme ni ne confirme le mécanisme MAR.
Imputations simples - PMM
Imputations simples - Normales
A nouveau, certaines imputations ne sont pas plausibles : avec le modèle joint les graphiques montrent des valeurs aberrantes pour l’épaisseur de peau et le taux d’insuline. S’agissant de la méthode FCS, les distributions des variables glu et bmi présentent des profils très divergents pour chacune des imputations, en raison du nombre peu élevé de données manquantes.
Imputations multiples - JM
Imputations multiples - FCS
Dans cette annexe on applique les techniques regsubset et step pour le choix automatique des variables. Les données utilsées sont les données obtenu à partir de la variable $res.inputePCA On obtient à nouveau ce résultat en utilsant comme données d’input les moyennes des diffrérents jeux de données issues du boostrap résultant de mipca.
La méthode step du package leaps nous fait choisir un modèle à 4 variables explicatives: npreg + glu + skin + ped
On reprend le modèle saturé obtenu au §2: m_sature
m_sature = glm(formula = type ~ . -typeMissing , family = binomial(link="logit"), data = res.imputePCA)
summary(m_sature)
##
## Call:
## glm(formula = type ~ . - typeMissing, family = binomial(link = "logit"),
## data = res.imputePCA)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -3.4482 -0.5833 -0.2864 0.5372 3.1055
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -15.983280 1.291451 -12.376 < 2e-16
## npreg 0.155352 0.035245 4.408 1.04e-05
## glu 0.010871 0.004833 2.250 0.024476
## bp -0.004187 0.009825 -0.426 0.670016
## skin 0.023228 0.014993 1.549 0.121326
## log.Insuline 1.983972 0.234466 8.462 < 2e-16
## bmi 0.057096 0.022174 2.575 0.010028
## ped 1.231368 0.322506 3.818 0.000134
## age 0.015108 0.010609 1.424 0.154438
## `data[, 10]`Insuline.only 0.531297 0.293752 1.809 0.070504
## `data[, 10]`bmi.only -13.325297 882.743485 -0.015 0.987956
## `data[, 10]`glu.only -8.092051 882.743507 -0.009 0.992686
## `data[, 10]`bmi.Insuline -11.475459 882.743421 -0.013 0.989628
## `data[, 10]`bp.Insuline 1.184762 2.439781 0.486 0.627250
## `data[, 10]`bp.skin.Insuline 1.266642 0.564965 2.242 0.024963
## `data[, 10]`bp.skin.Insuline.bmi -3.465829 4.110241 -0.843 0.399106
## `data[, 10]`glu.Insuline 0.225128 2.110605 0.107 0.915055
## `data[, 10]`skin.Insuline 0.386300 0.257823 1.498 0.134051
## `data[, 10]`skin.bmi.Insuline 0.177155 1.630963 0.109 0.913504
##
## (Intercept) ***
## npreg ***
## glu *
## bp
## skin
## log.Insuline ***
## bmi *
## ped ***
## age
## `data[, 10]`Insuline.only .
## `data[, 10]`bmi.only
## `data[, 10]`glu.only
## `data[, 10]`bmi.Insuline
## `data[, 10]`bp.Insuline
## `data[, 10]`bp.skin.Insuline *
## `data[, 10]`bp.skin.Insuline.bmi
## `data[, 10]`glu.Insuline
## `data[, 10]`skin.Insuline
## `data[, 10]`skin.bmi.Insuline
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 993.48 on 767 degrees of freedom
## Residual deviance: 611.71 on 749 degrees of freedom
## AIC: 649.71
##
## Number of Fisher Scoring iterations: 13
Critère AIC
Critère BIC
#modele_step_BwdFwd_AIC<-glm(formula = type ~ (npreg + glu + bp + skin + Insuline + bmi + ped + age), family = binomial, data = dataFramePima)
summary(modele_step_BwdFwd_AIC)
##
## Call:
## glm(formula = type ~ npreg + glu + skin + log.Insuline + bmi +
## ped + age, family = binomial(link = "logit"), data = res.imputePCA)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -3.4264 -0.5889 -0.2909 0.5870 3.0197
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -15.747213 1.182951 -13.312 < 2e-16 ***
## npreg 0.154876 0.035028 4.422 9.8e-06 ***
## glu 0.009759 0.004732 2.063 0.039156 *
## skin 0.020873 0.014447 1.445 0.148521
## log.Insuline 2.003656 0.231134 8.669 < 2e-16 ***
## bmi 0.049770 0.021666 2.297 0.021610 *
## ped 1.128815 0.309756 3.644 0.000268 ***
## age 0.017885 0.010084 1.774 0.076142 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 993.48 on 767 degrees of freedom
## Residual deviance: 622.63 on 760 degrees of freedom
## AIC: 638.63
##
## Number of Fisher Scoring iterations: 5
AIC(modele_step_BwdFwd_AIC)
## [1] 638.6294
BIC(modele_step_BwdFwd_AIC)
## [1] 675.7797
#m_StepBwdFwd_BIC<-glm(formula = type ~ (npreg + glu + skin + Insuline + ped),family = binomial, data = dataFramePima)
summary(m_StepBwdFwd_BIC)
##
## Call:
## glm(formula = type ~ npreg + log.Insuline + bmi + ped, family = binomial(link = "logit"),
## data = res.imputePCA)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -3.4006 -0.5985 -0.3206 0.5928 2.9994
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -15.67803 1.12331 -13.957 < 2e-16 ***
## npreg 0.20231 0.03032 6.672 2.52e-11 ***
## log.Insuline 2.30853 0.18860 12.240 < 2e-16 ***
## bmi 0.07005 0.01502 4.664 3.11e-06 ***
## ped 1.20771 0.30968 3.900 9.62e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 993.48 on 767 degrees of freedom
## Residual deviance: 634.01 on 763 degrees of freedom
## AIC: 644.01
##
## Number of Fisher Scoring iterations: 5
AIC(m_StepBwdFwd_BIC)
## [1] 644.0087
BIC(m_StepBwdFwd_BIC)
## [1] 667.2276
PCA sur les données complétées par MIPCA
PCA sur les données imputé par mice
PCA sur les données Pima de MASS (non imputées)
Le nuage des individus est bien centré
Dans le cas de mice toutes données sont relativement centrées.
Remarque: Les données complétés par MICE et MIPCA ont une PCA similaire. Par contre pour les données de MASS on a une transformation par rapport aux axes. Même forme mais symétrique / à l’axe principal.
(ce qui correspond aux coordonnées des individus sur les 5 premiers axes) ##### A partir de la fonction dimdesc
dimdesc <- dimdesc(res.pca, proba=1e-5) #, nbelements = 16)
dimdesc
## $Dim.1
## $Dim.1$quanti
## correlation p.value
## skin 0.7432351 7.578981e-136
## bmi 0.7339801 7.754023e-131
## bp 0.6663183 1.011311e-99
## glu 0.6211169 3.908420e-83
## log.Insuline 0.5437096 2.710384e-60
## age 0.4328252 2.072657e-36
## npreg 0.3723705 1.140718e-26
## ped 0.1641726 4.800145e-06
##
## $Dim.1$quali
## R2 p.value
## type 0.2679501 7.298189e-54
## typeMissing 0.2679501 7.298189e-54
##
## $Dim.1$category
## Estimate p.value
## typeMissing=TRUE 0.870416 7.298189e-54
## type=TRUE 0.870416 7.298189e-54
## typeMissing=FALSE -0.870416 7.298189e-54
## type=FALSE -0.870416 7.298189e-54
##
##
## $Dim.2
## $Dim.2$quanti
## correlation p.value
## age 0.5905051 2.325475e-73
## glu 0.4876006 4.094351e-47
## npreg 0.4497885 1.610690e-39
## log.Insuline 0.3948880 4.590636e-30
## bp -0.2049076 1.002973e-08
## skin -0.5387835 4.914203e-59
## bmi -0.5507535 3.953331e-62
##
## $Dim.2$quali
## R2 p.value
## type 0.05610182 2.968141e-11
## typeMissing 0.05610182 2.968141e-11
##
## $Dim.2$category
## Estimate p.value
## typeMissing=TRUE 0.3123481 2.968141e-11
## type=TRUE 0.3123481 2.968141e-11
## typeMissing=FALSE -0.3123481 2.968141e-11
## type=FALSE -0.3123481 2.968141e-11
##
##
## $Dim.3
## $Dim.3$quanti
## correlation p.value
## npreg 0.6246086 2.555349e-84
## age 0.4790428 2.601648e-45
## bp 0.3564601 1.996067e-24
## ped -0.2808256 2.193051e-15
## glu -0.4847836 1.626863e-46
## log.Insuline -0.6254777 1.289097e-84
##
## $Dim.3$quali
## R2 p.value
## type 0.04777441 9.264595e-10
## typeMissing 0.04777441 9.264595e-10
##
## $Dim.3$category
## Estimate p.value
## typeMissing=FALSE 0.276669 9.264595e-10
## type=FALSE 0.276669 9.264595e-10
## typeMissing=TRUE -0.276669 9.264595e-10
## type=TRUE -0.276669 9.264595e-10
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 0.37 0.45 0.62 0.09 0.37
## glu 0.62 0.49 -0.48 -0.11 -0.07
## bp 0.67 -0.20 0.36 -0.10 -0.57
## skin 0.74 -0.54 0.05 0.00 0.20
## log.Insuline 0.54 0.39 -0.63 -0.21 0.07
## bmi 0.73 -0.55 -0.04 0.00 0.21
## ped 0.16 0.00 -0.28 0.94 -0.08
## age 0.43 0.59 0.48 0.12 -0.09
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 0.39 0.71 -0.18 0.18 -0.30
## glu 0.68 -0.03 0.54 -0.18 -0.01
## bp 0.56 0.22 -0.30 -0.16 0.71
## skin 0.62 -0.42 -0.46 -0.01 -0.28
## Insuline 0.59 -0.17 0.62 -0.22 -0.07
## bmi 0.64 -0.50 -0.40 -0.03 -0.08
## ped 0.24 -0.29 0.23 0.88 0.18
## age 0.54 0.67 -0.02 0.15 -0.09
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 0.53 -0.68 -0.01 0.32 -0.13
## glu 0.56 0.06 0.33 -0.64 -0.40
## bp 0.61 -0.07 -0.30 -0.34 0.63
## skin 0.66 0.50 -0.19 0.30 -0.21
## bmi 0.64 0.60 -0.18 0.14 -0.02
## ped 0.25 0.22 0.86 0.22 0.33
## age 0.67 -0.60 0.05 0.09 -0.04
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 0.14 0.20 0.39 0.01 0.14
## glu 0.39 0.24 0.24 0.01 0.01
## bp 0.44 0.04 0.13 0.01 0.33
## skin 0.55 0.29 0.00 0.00 0.04
## log.Insuline 0.30 0.16 0.39 0.04 0.01
## bmi 0.54 0.30 0.00 0.00 0.05
## ped 0.03 0.00 0.08 0.88 0.01
## age 0.19 0.35 0.23 0.02 0.01
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 0.15 0.51 0.03 0.03 0.09
## glu 0.46 0.00 0.29 0.03 0.00
## bp 0.32 0.05 0.09 0.03 0.50
## skin 0.38 0.17 0.21 0.00 0.08
## Insuline 0.35 0.03 0.38 0.05 0.00
## bmi 0.41 0.25 0.16 0.00 0.01
## ped 0.06 0.08 0.05 0.77 0.03
## age 0.29 0.44 0.00 0.02 0.01
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 0.28 0.46 0.00 0.10 0.02
## glu 0.31 0.00 0.11 0.41 0.16
## bp 0.38 0.01 0.09 0.12 0.39
## skin 0.43 0.25 0.04 0.09 0.04
## bmi 0.41 0.36 0.03 0.02 0.00
## ped 0.06 0.05 0.74 0.05 0.11
## age 0.44 0.37 0.00 0.01 0.00
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 5.40 12.80 26.79 0.83 24.32
## glu 15.01 15.04 16.14 1.15 0.97
## bp 17.28 2.66 8.73 0.95 56.84
## skin 21.50 18.37 0.19 0.00 6.69
## log.Insuline 11.51 9.87 26.87 4.55 0.89
## bmi 20.97 19.19 0.11 0.00 7.82
## ped 1.05 0.00 5.42 90.95 0.98
## age 7.29 22.07 15.76 1.57 1.48
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 6.36 33.11 2.58 3.43 12.68
## glu 18.94 0.05 24.18 3.28 0.03
## bp 13.09 3.14 7.21 2.82 69.08
## skin 15.69 11.28 17.51 0.00 11.03
## Insuline 14.56 1.90 31.17 5.05 0.67
## bmi 16.86 16.31 13.04 0.10 0.90
## ped 2.38 5.30 4.27 82.93 4.58
## age 12.12 28.91 0.04 2.39 1.03
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## npreg 11.95 30.81 0.00 13.04 2.41
## glu 13.46 0.24 10.71 51.52 22.05
## bp 16.31 0.34 9.15 14.83 54.60
## skin 18.74 16.79 3.56 11.20 5.95
## bmi 17.75 24.14 3.24 2.59 0.06
## ped 2.62 3.30 73.06 5.89 14.75
## age 19.17 24.39 0.28 0.92 0.19